package net.suncaper.mvc.service;

import net.suncaper.mvc.model.domain.Review;

import java.util.List;

/**
 * 评价信息服务接口
 */
public interface IReviewService {
    /**
     * 添加评价
     * @param review 评价信息
     * @return 添加结果
     */
    boolean addReview(Review review);

    /**
     * 根据酒店名称获取评价列表
     * @param hotelName 酒店名称
     * @return 评价列表
     */
    List<Review> getReviewsByHotelName(String hotelName);

    /**
     * 根据用户ID获取评价列表
     * @param userId 用户ID
     * @return 评价列表
     */
    List<Review> getReviewsByUserId(String userId);
    
    /**
     * 根据评价ID获取评价
     * @param reviewId 评价ID
     * @return 评价信息
     */
    Review getReviewById(Long reviewId);

    /**
     * 根据评价时间获取评价
     * @param reviewTime 评价时间
     * @return 评价信息
     */
    Review getReviewByTime(java.util.Date reviewTime);
    
    /**
     * 删除评价
     * @param reviewId 评价ID
     * @return 删除结果
     */
    boolean deleteReviewById(Long reviewId);

    /**
     * 更新评价信息
     * @param review 评价信息
     * @return 更新结果
     */
    boolean updateReview(Review review);

    /**
     * 查询所有评论
     * @return 评论列表
     */
    java.util.List<Review> getAllReviews();
}    